//1.me
class Solution {
public:
    bool canJump(vector<int>& nums) {
        if(nums.size()==1)
            return true;
        int max_dis = 0;
        int n  = nums.size()-1;
        for(int i = 0; i< n; ++i) {
            if(i > max_dis) //当前位置＞可达最远距离
                return false;

            max_dis = max(max_dis, i + nums[i]);
            if(max_dis >= n)
                return true;
            
            
        }
        return false;
    }
};

